package com.ruoyi.system.service;

import java.util.List;
import java.util.Map;

import com.ruoyi.system.domain.Dept;
import com.ruoyi.system.domain.Renwu;
import com.ruoyi.system.domain.Shiwu;
import com.ruoyi.system.domain.ZhuanjiaBiandongDetail;

/**
 * 任务Service接口
 * 
 * @author ruoyi
 * @date 2022-12-22
 */
public interface IRenwuService 
{
    /**
     * 查询任务
     * 
     * @param renwuid 任务主键
     * @return 任务
     */
    public Renwu selectRenwuByRenwuid(String renwuid);

    /**
     * 查询任务列表
     * 
     * @param renwu 任务
     * @return 任务集合
     */
    public List<Renwu> selectRenwuList(Renwu renwu);

    /**
     * 新增任务
     * 
     * @param renwu 任务
     * @return 结果
     */
    public int insertRenwu(Renwu renwu);

    /**
     * 修改任务
     * 
     * @param renwu 任务
     * @return 结果
     */
    public int updateRenwu(Renwu renwu);

    /**
     * 批量删除任务
     * 
     * @param renwuids 需要删除的任务主键集合
     * @return 结果
     */
    public int deleteRenwuByRenwuids(String renwuids);

    /**
     * 删除任务信息
     * 
     * @param renwuid 任务主键
     * @return 结果
     */
    public int deleteRenwuByRenwuid(String renwuid);

    public boolean submit(Renwu ppRenwu, Shiwu ppShiwu);

    public boolean submit_custom(Renwu ppRenwu, Shiwu ppShiwu, ZhuanjiaBiandongDetail ppZhuanjiabiandongDetail);

    public boolean shenhe(ZhuanjiaBiandongDetail ppZhuanjiabiandongDetail,Renwu ppRenwu1,Renwu ppRenwu2, Shiwu ppShiwu);

//    public boolean shenhe_zhuanli(ZhuanjiaBiandongDetail ppZhuanjiabiandongDetail,Renwu ppRenwu1,Renwu ppRenwu2,Shiwu ppShiwu);

//    public boolean shenhe_zhuanli(ZhuanjiaBiandongDetail ppZhuanjiabiandongDetail,Renwu ppRenwu,Shiwu ppShiwu);

    public boolean shenhe_zhuanli(ZhuanjiaBiandongDetail ppZhuanjiabiandongDetail, Renwu ppRenwu, Renwu ppRenwu2,Shiwu ppShiwu, int ppIsRenling, Dept ppDept);

    public boolean xiapai(ZhuanjiaBiandongDetail ppZhuanjiabiandongDetail,Shiwu ppShiwu, Dept ppDept,String ppXiapaidanweiId);


    public boolean jieshou(ZhuanjiaBiandongDetail ppZhuanjiabiandongDetail, Renwu ppRenwu,Renwu ppRenwu2,Shiwu ppShiwu, Dept ppDept,long ppShifoutongguo);

    public List<Map<String,Object>>findShenhejiluByShiwuid(String ppShiwuId);

    public List<Map<String,Object>> findShenheListByDept(String ppShenpidanweiid,int ppShenhezhuangtai,String ppJigoumingcheng,
                                                         String ppZhuanjiaxingming,String ppRenwuxiafashijian1,String ppRenwuxiafashijian2,
                                                         String ppRenwuwanchengshijian1,String ppRenwuwanchengshijian2,String biandongleixing,int ppPageIndex,int ppPageSize);

    public int countShenheListByDept(String ppShenpidanweiid,int ppShenhezhuangtai,String ppJigoumingcheng,
                                     String ppZhuanjiaxingming,String ppRenwuxiafashijian1,String ppRenwuxiafashijian2,
                                     String ppRenwuwanchengshijian1,String ppRenwuwanchengshijian2,String biandongleixing);

    public List<Map<String,Object>> findZhuanliShenheListByDept(String ppShenpidanweiid,int ppShenhezhuangtai,String ppJigoumingcheng,
                                                                String ppZhuanjiaxingming,String ppRenwuxiafashijian1,String ppRenwuxiafashijian2,
                                                                String ppRenwuwanchengshijian1,String ppRenwuwanchengshijian2,int ppPageIndex,int ppPageSize);

    public int countZhuanliShenheListByDept(String ppShenpidanweiid,int ppShenhezhuangtai,String ppJigoumingcheng,
                                     String ppZhuanjiaxingming,String ppRenwuxiafashijian1,String ppRenwuxiafashijian2,
                                            String ppRenwuwanchengshijian1,String ppRenwuwanchengshijian2);

    public long findMaxOrdernumByShiwuId(String ppShiwuId);
}
